home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / wfc007.000 / src / structs.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-22  |  17.8 KB  |  882 lines

  1. #include <wfc.h>
  2. #pragma hdrstop
  3.  
  4. /*
  5. ** Author: Samuel R. Blackburn
  6. ** CI$: 76300,326
  7. ** Internet: sammy@sed.csc.com
  8. **
  9. ** You can use it any way you like.
  10. */
  11.  
  12. CAccessAllowedEntry::CAccessAllowedEntry()
  13. {
  14.    Empty();
  15. }
  16.  
  17. CAccessAllowedEntry::~CAccessAllowedEntry()
  18. {
  19.    Empty();
  20. }
  21.  
  22. void CAccessAllowedEntry::Empty( void )
  23. {
  24.    // ACE_HEADER
  25.    Header.AceType  = 0;
  26.    Header.AceFlags = 0;
  27.    Header.AceSize  = 0;
  28.  
  29.    // ACE_MASK
  30.    Mask            = 0;
  31.  
  32.    SidStart        = 0;
  33. }
  34.  
  35. CAccessControlEntryHeader::CAccessControlEntryHeader()
  36. {
  37.    Empty();
  38. }
  39.  
  40. CAccessControlEntryHeader::~CAccessControlEntryHeader()
  41. {
  42.    Empty();
  43. }
  44.  
  45. void CAccessControlEntryHeader::Empty( void )
  46. {
  47.    AceType  = 0;
  48.    AceFlags = 0;
  49.    AceSize  = 0;
  50. }
  51.  
  52. CAccessControlList::CAccessControlList()
  53. {
  54.    Empty();
  55. }
  56.  
  57. CAccessControlList::~CAccessControlList()
  58. {
  59.    Empty();
  60. }
  61.  
  62. void CAccessControlList::Empty( void )
  63. {
  64.    AclRevision = ACL_REVISION;
  65.    Sbz1        = 0;
  66.    AclSize     = 0;
  67.    AceCount    = 0;
  68.    Sbz2        = 0;
  69. }
  70.  
  71. CAccessDeniedEntry::CAccessDeniedEntry()
  72. {
  73.    Empty();
  74. }
  75.  
  76. CAccessDeniedEntry::~CAccessDeniedEntry()
  77. {
  78.    Empty();
  79. }
  80.  
  81. void CAccessDeniedEntry::Empty( void )
  82. {
  83.    // ACE_HEADER
  84.    Header.AceType  = 0;
  85.    Header.AceFlags = 0;
  86.    Header.AceSize  = 0;
  87.  
  88.    // ACE_MASK
  89.    Mask            = 0;
  90.  
  91.    SidStart        = 0;
  92. }
  93.  
  94. CBitmapCoreHeader::CBitmapCoreHeader()
  95. {
  96.    Empty();
  97. }
  98.  
  99. CBitmapCoreHeader::~CBitmapCoreHeader()
  100. {
  101.    Empty();
  102. }
  103.  
  104. void CBitmapCoreHeader::Empty( void )
  105. {
  106.    bcSize     = sizeof( tagBITMAPCOREHEADER );
  107.    bcWidth    = 0;
  108.    bcHeight   = 0;
  109.    bcPlanes   = 0;
  110.    bcBitCount = 0;
  111. }
  112.  
  113. CBitmapFileHeader::CBitmapFileHeader()
  114. {
  115.    Empty();
  116. }
  117.  
  118. CBitmapFileHeader::~CBitmapFileHeader()
  119. {
  120.    Empty();
  121. }
  122.  
  123. void CBitmapFileHeader::Empty( void )
  124. {
  125.    bfType      = 'BM';
  126.    bfSize      = 0;
  127.    bfReserved1 = 0;
  128.    bfReserved2 = 0;
  129.    bfOffBits   = 0;
  130. }
  131.  
  132. CBitmapInfoHeader::CBitmapInfoHeader()
  133. {
  134.    Empty();
  135. }
  136.  
  137. CBitmapInfoHeader::~CBitmapInfoHeader()
  138. {
  139.    Empty();
  140. }
  141.  
  142. void CBitmapInfoHeader::Empty( void )
  143. {
  144.    biSize          = sizeof( tagBITMAPINFOHEADER );
  145.    biWidth         = 0;
  146.    biHeight        = 0;
  147.    biPlanes        = 0;
  148.    biBitCount      = 0;
  149.    biCompression   = 0;
  150.    biSizeImage     = 0;
  151.    biXPelsPerMeter = 0;
  152.    biYPelsPerMeter = 0;
  153.    biClrUsed       = 0;
  154.    biClrImportant  = 0;
  155. }
  156.  
  157. CColorAdjustment::CColorAdjustment()
  158. {
  159.    Empty();
  160. }
  161.  
  162. CColorAdjustment::~CColorAdjustment()
  163. {
  164.    Empty();
  165. }
  166.  
  167. void CColorAdjustment::Empty( void )
  168. {
  169.    caSize            = sizeof( tagCOLORADJUSTMENT );
  170.    caFlags           = 0;
  171.    caIlluminantIndex = 0;
  172.    caRedGamma        = 0;
  173.    caGreenGamma      = 0;
  174.    caBlueGamma       = 0;
  175.    caReferenceBlack  = 0;
  176.    caReferenceWhite  = 0;
  177.    caContrast        = 0;
  178.    caBrightness      = 0;
  179.    caColorfulness    = 0;
  180.    caRedGreenTint    = 0;
  181. }
  182.  
  183. CMemoryStatus::CMemoryStatus()
  184. {
  185.    Empty();
  186. }
  187.  
  188. CMemoryStatus::~CMemoryStatus()
  189. {
  190.    Empty();
  191. }
  192.  
  193. void CMemoryStatus::Empty( void )
  194. {
  195.    dwLength        = sizeof( MEMORYSTATUS );
  196.    dwMemoryLoad    = 0;
  197.    dwTotalPhys     = 0;
  198.    dwAvailPhys     = 0;
  199.    dwTotalPageFile = 0;
  200.    dwAvailPageFile = 0;
  201.    dwTotalVirtual  = 0;
  202.    dwAvailVirtual  = 0;
  203. }
  204.  
  205. COFStruct::COFStruct()
  206. {
  207.    Empty();
  208. }
  209.  
  210. COFStruct::~COFStruct()
  211. {
  212.    Empty();
  213. }
  214.  
  215. void COFStruct::Empty( void )
  216. {
  217.    cBytes     = sizeof( _OFSTRUCT );
  218.    fFixedDisk = 0;
  219.    nErrCode   = 0;
  220.    Reserved1  = 0;
  221.    Reserved2  = 0;
  222.  
  223.    int index = 0;
  224.  
  225.    while( index < OFS_MAXPATHNAME )
  226.    {
  227.       szPathName[ index ] = 0;
  228.       index++;
  229.    }
  230. }
  231.  
  232. COutlineTextMetricA::COutlineTextMetricA()
  233. {
  234.    Empty();
  235. }
  236.  
  237. COutlineTextMetricA::~COutlineTextMetricA()
  238. {
  239.    Empty();
  240. }
  241.  
  242. void COutlineTextMetricA::Empty( void )
  243. {
  244.    otmSize = sizeof( _OUTLINETEXTMETRICA );
  245.  
  246.    // TEXTMETRICA
  247.    otmTextMetrics.tmHeight           = 0;
  248.    otmTextMetrics.tmAscent           = 0;
  249.    otmTextMetrics.tmDescent          = 0;
  250.    otmTextMetrics.tmInternalLeading  = 0;
  251.    otmTextMetrics.tmExternalLeading  = 0;
  252.    otmTextMetrics.tmAveCharWidth     = 0;
  253.    otmTextMetrics.tmMaxCharWidth     = 0;
  254.    otmTextMetrics.tmWeight           = 0;
  255.    otmTextMetrics.tmOverhang         = 0;
  256.    otmTextMetrics.tmDigitizedAspectX = 0;
  257.    otmTextMetrics.tmDigitizedAspectY = 0;
  258.    otmTextMetrics.tmFirstChar        = 0;
  259.    otmTextMetrics.tmLastChar         = 0;
  260.    otmTextMetrics.tmDefaultChar      = 0;
  261.    otmTextMetrics.tmBreakChar        = 0;
  262.    otmTextMetrics.tmItalic           = 0;
  263.    otmTextMetrics.tmUnderlined       = 0;
  264.    otmTextMetrics.tmStruckOut        = 0;
  265.    otmTextMetrics.tmPitchAndFamily   = 0;
  266.    otmTextMetrics.tmCharSet          = 0;
  267.    
  268.    otmFiller = 0;
  269.    
  270.    // PANOSE
  271.    otmPanoseNumber.bFamilyType      = 0;
  272.    otmPanoseNumber.bSerifStyle      = 0;
  273.    otmPanoseNumber.bWeight          = 0;
  274.    otmPanoseNumber.bProportion      = 0;
  275.    otmPanoseNumber.bContrast        = 0;
  276.    otmPanoseNumber.bStrokeVariation = 0;
  277.    otmPanoseNumber.bArmStyle        = 0;
  278.    otmPanoseNumber.bLetterform      = 0;
  279.    otmPanoseNumber.bMidline         = 0;
  280.    otmPanoseNumber.bXHeight         = 0;
  281.  
  282.    otmfsSelection    = 0;
  283.    otmfsType         = 0;
  284.    otmsCharSlopeRise = 0;
  285.    otmsCharSlopeRun  = 0;
  286.    otmItalicAngle    = 0;
  287.    otmEMSquare       = 0;
  288.    otmAscent         = 0;
  289.    otmDescent        = 0;
  290.    otmLineGap        = 0;
  291.    otmsCapEmHeight   = 0;
  292.    otmsXHeight       = 0;
  293.    
  294.    // RECT
  295.    otmrcFontBox.left   = 0;
  296.    otmrcFontBox.top    = 0;
  297.    otmrcFontBox.right  = 0;
  298.    otmrcFontBox.bottom = 0;
  299.  
  300.    otmMacAscent     = 0;
  301.    otmMacDescent    = 0;
  302.    otmMacLineGap    = 0;
  303.    otmusMinimumPPEM = 0;
  304.  
  305.    // POINT
  306.    otmptSubscriptSize.x     = 0;
  307.    otmptSubscriptSize.y     = 0;
  308.    otmptSubscriptOffset.x   = 0;
  309.    otmptSubscriptOffset.y   = 0;
  310.    otmptSuperscriptSize.x   = 0;
  311.    otmptSuperscriptSize.y   = 0;
  312.    otmptSuperscriptOffset.x = 0;
  313.    otmptSuperscriptOffset.y = 0;
  314.  
  315.    otmsStrikeoutSize      = 0;
  316.    otmsStrikeoutPosition  = 0;
  317.    otmsUnderscoreSize     = 0;
  318.    otmsUnderscorePosition = 0;
  319.    otmpFamilyName         = NULL;
  320.    otmpFaceName           = NULL;
  321.    otmpStyleName          = NULL;
  322.    otmpFullName           = NULL;
  323. }
  324.  
  325. COutlineTextMetricW::COutlineTextMetricW()
  326. {
  327.    Empty();
  328. }
  329.  
  330. COutlineTextMetricW::~COutlineTextMetricW()
  331. {
  332.    Empty();
  333. }
  334.  
  335. void COutlineTextMetricW::Empty( void )
  336. {
  337.    otmSize = sizeof( _OUTLINETEXTMETRICW );
  338.  
  339.    // TEXTMETRICW
  340.    otmTextMetrics.tmHeight           = 0;
  341.    otmTextMetrics.tmAscent           = 0;
  342.    otmTextMetrics.tmDescent          = 0;
  343.    otmTextMetrics.tmInternalLeading  = 0;
  344.    otmTextMetrics.tmExternalLeading  = 0;
  345.    otmTextMetrics.tmAveCharWidth     = 0;
  346.    otmTextMetrics.tmMaxCharWidth     = 0;
  347.    otmTextMetrics.tmWeight           = 0;
  348.    otmTextMetrics.tmOverhang         = 0;
  349.    otmTextMetrics.tmDigitizedAspectX = 0;
  350.    otmTextMetrics.tmDigitizedAspectY = 0;
  351.    otmTextMetrics.tmFirstChar        = 0;
  352.    otmTextMetrics.tmLastChar         = 0;
  353.    otmTextMetrics.tmDefaultChar      = 0;
  354.    otmTextMetrics.tmBreakChar        = 0;
  355.    otmTextMetrics.tmItalic           = 0;
  356.    otmTextMetrics.tmUnderlined       = 0;
  357.    otmTextMetrics.tmStruckOut        = 0;
  358.    otmTextMetrics.tmPitchAndFamily   = 0;
  359.    otmTextMetrics.tmCharSet          = 0;
  360.    
  361.    otmFiller = 0;
  362.    
  363.    // PANOSE
  364.    otmPanoseNumber.bFamilyType      = 0;
  365.    otmPanoseNumber.bSerifStyle      = 0;
  366.    otmPanoseNumber.bWeight          = 0;
  367.    otmPanoseNumber.bProportion      = 0;
  368.    otmPanoseNumber.bContrast        = 0;
  369.    otmPanoseNumber.bStrokeVariation = 0;
  370.    otmPanoseNumber.bArmStyle        = 0;
  371.    otmPanoseNumber.bLetterform      = 0;
  372.    otmPanoseNumber.bMidline         = 0;
  373.    otmPanoseNumber.bXHeight         = 0;
  374.  
  375.    otmfsSelection    = 0;
  376.    otmfsType         = 0;
  377.    otmsCharSlopeRise = 0;
  378.    otmsCharSlopeRun  = 0;
  379.    otmItalicAngle    = 0;
  380.    otmEMSquare       = 0;
  381.    otmAscent         = 0;
  382.    otmDescent        = 0;
  383.    otmLineGap        = 0;
  384.    otmsCapEmHeight   = 0;
  385.    otmsXHeight       = 0;
  386.    
  387.    // RECT
  388.    otmrcFontBox.left   = 0;
  389.    otmrcFontBox.top    = 0;
  390.    otmrcFontBox.right  = 0;
  391.    otmrcFontBox.bottom = 0;
  392.  
  393.    otmMacAscent     = 0;
  394.    otmMacDescent    = 0;
  395.    otmMacLineGap    = 0;
  396.    otmusMinimumPPEM = 0;
  397.  
  398.    // POINT
  399.    otmptSubscriptSize.x     = 0;
  400.    otmptSubscriptSize.y     = 0;
  401.    otmptSubscriptOffset.x   = 0;
  402.    otmptSubscriptOffset.y   = 0;
  403.    otmptSuperscriptSize.x   = 0;
  404.    otmptSuperscriptSize.y   = 0;
  405.    otmptSuperscriptOffset.x = 0;
  406.    otmptSuperscriptOffset.y = 0;
  407.  
  408.    otmsStrikeoutSize      = 0;
  409.    otmsStrikeoutPosition  = 0;
  410.    otmsUnderscoreSize     = 0;
  411.    otmsUnderscorePosition = 0;
  412.    otmpFamilyName         = NULL;
  413.    otmpFaceName           = NULL;
  414.    otmpStyleName          = NULL;
  415.    otmpFullName           = NULL;
  416. }
  417.  
  418. CPerfCounterDefinition::CPerfCounterDefinition()
  419. {
  420.    Empty();
  421. }
  422.  
  423. CPerfCounterDefinition::~CPerfCounterDefinition()
  424. {
  425.    Empty();
  426. }
  427.  
  428. void CPerfCounterDefinition::Empty( void )
  429. {
  430.    ByteLength            = sizeof( PERF_COUNTER_DEFINITION );
  431.    CounterNameTitleIndex = 0;
  432.    CounterNameTitle      = NULL;
  433.    CounterHelpTitleIndex = 0;
  434.    CounterHelpTitle      = NULL;
  435.    DefaultScale          = 0;
  436.    DetailLevel           = 0;
  437.    CounterType           = 0;
  438.    CounterSize           = 0;
  439.    CounterOffset         = 0;
  440. }
  441.  
  442. CPerfInstanceDefinition::CPerfInstanceDefinition()
  443. {
  444.    Empty();
  445. }
  446.  
  447. CPerfInstanceDefinition::~CPerfInstanceDefinition()
  448. {
  449.    Empty();
  450. }
  451.  
  452. void CPerfInstanceDefinition::Empty( void )
  453. {
  454.    ByteLength             = sizeof( PERF_INSTANCE_DEFINITION );
  455.    ParentObjectTitleIndex = 0;
  456.    ParentObjectInstance   = 0;
  457.    UniqueID               = 0;
  458.    NameOffset             = 0;
  459.    NameLength             = 0;
  460. }
  461.  
  462. CPixelFormatDescriptor::CPixelFormatDescriptor()
  463. {
  464.    Empty();
  465. }
  466.  
  467. CPixelFormatDescriptor::~CPixelFormatDescriptor()
  468. {
  469.    Empty();
  470. }
  471.  
  472. void CPixelFormatDescriptor::Empty( void )
  473. {
  474.    nSize           = sizeof( tagPIXELFORMATDESCRIPTOR );
  475.    nVersion        = 0;
  476.    dwFlags         = 0;
  477.    iPixelType      = 0;
  478.    cColorBits      = 0;
  479.    cRedBits        = 0;
  480.    cRedShift       = 0;
  481.    cGreenBits      = 0;
  482.    cGreenShift     = 0;
  483.    cBlueBits       = 0;
  484.    cBlueShift      = 0;
  485.    cAlphaBits      = 0;
  486.    cAlphaShift     = 0;
  487.    cAccumBits      = 0;
  488.    cAccumRedBits   = 0;
  489.    cAccumGreenBits = 0;
  490.    cAccumBlueBits  = 0;
  491.    cAccumAlphaBits = 0;
  492.    cDepthBits      = 0;
  493.    cStencilBits    = 0;
  494.    cAuxBuffers     = 0;
  495.    iLayerType      = 0;
  496.    bReserved       = 0;
  497.    dwLayerMask     = 0;
  498.    dwVisibleMask   = 0;
  499.    dwDamageMask    = 0;
  500. }
  501.  
  502. CRasterizerStatus::CRasterizerStatus()
  503. {
  504.    Empty();
  505. }
  506.  
  507. CRasterizerStatus::~CRasterizerStatus()
  508. {
  509.    Empty();
  510. }
  511.  
  512. void CRasterizerStatus::Empty( void )
  513. {
  514.    nSize       = sizeof( _RASTERIZER_STATUS );
  515.    wFlags      = 0;
  516.    nLanguageID = 0;
  517. }
  518.  
  519. CSecurityAttributes::CSecurityAttributes()
  520. {
  521.    Empty();
  522. }
  523.  
  524. CSecurityAttributes::~CSecurityAttributes()
  525. {
  526.    Empty();
  527. }
  528.  
  529. void CSecurityAttributes::Empty( void )
  530. {
  531.    nLength              = sizeof( SECURITY_ATTRIBUTES );
  532.    lpSecurityDescriptor = NULL;
  533.    bInheritHandle = FALSE;
  534. }
  535.  
  536. CSecurityQualityOfService::CSecurityQualityOfService()
  537. {
  538.    Empty();
  539. }
  540.  
  541. CSecurityQualityOfService::~CSecurityQualityOfService()
  542. {
  543.    Empty();
  544. }
  545.  
  546. void CSecurityQualityOfService::Empty( void )
  547. {
  548.    Length = sizeof( SECURITY_QUALITY_OF_SERVICE );
  549.  
  550.    // SECURITY_IMPERSONATION_LEVEL
  551.    ImpersonationLevel = SecurityAnonymous;
  552.    
  553.    // SECURITY_CONTEXT_TRACKING_MODE
  554.    ContextTrackingMode = FALSE;
  555.  
  556.    //BOOLEAN
  557.    EffectiveOnly = FALSE;
  558. }
  559.  
  560. CSystemAuditEntry::CSystemAuditEntry()
  561. {
  562.    Empty();
  563. }
  564.  
  565. CSystemAuditEntry::~CSystemAuditEntry()
  566. {
  567.    Empty();
  568. }
  569.  
  570. void CSystemAuditEntry::Empty( void )
  571. {
  572.    // ACE_HEADER
  573.    Header.AceType  = 0;
  574.    Header.AceFlags = 0;
  575.    Header.AceSize  = 0;
  576.  
  577.    // ACCESS_MASK
  578.    Mask            = 0;
  579.  
  580.    SidStart        = 0;
  581. }
  582.  
  583. CTextMetricA::CTextMetricA()
  584. {
  585.    Empty();
  586. }
  587.  
  588. CTextMetricA::~CTextMetricA()
  589. {
  590.    Empty();
  591. }
  592.  
  593. void CTextMetricA::Empty( void )
  594. {
  595.    tmHeight           = 0;
  596.    tmAscent           = 0;
  597.    tmDescent          = 0;
  598.    tmInternalLeading  = 0;
  599.    tmExternalLeading  = 0;
  600.    tmAveCharWidth     = 0;
  601.    tmMaxCharWidth     = 0;
  602.    tmWeight           = 0;
  603.    tmOverhang         = 0;
  604.    tmDigitizedAspectX = 0;
  605.    tmDigitizedAspectY = 0;
  606.    tmFirstChar        = 0;
  607.    tmLastChar         = 0;
  608.    tmDefaultChar      = 0;
  609.    tmBreakChar        = 0;
  610.    tmItalic           = 0;
  611.    tmUnderlined       = 0;
  612.    tmStruckOut        = 0;
  613.    tmPitchAndFamily   = 0;
  614.    tmCharSet          = 0;
  615. }
  616.  
  617. CTextMetricW::CTextMetricW()
  618. {
  619.    Empty();
  620. }
  621.  
  622. CTextMetricW::~CTextMetricW()
  623. {
  624.    Empty();
  625. }
  626.  
  627. void CTextMetricW::Empty( void )
  628. {
  629.    tmHeight           = 0;
  630.    tmAscent           = 0;
  631.    tmDescent          = 0;
  632.    tmInternalLeading  = 0;
  633.    tmExternalLeading  = 0;
  634.    tmAveCharWidth     = 0;
  635.    tmMaxCharWidth     = 0;
  636.    tmWeight           = 0;
  637.    tmOverhang         = 0;
  638.    tmDigitizedAspectX = 0;
  639.    tmDigitizedAspectY = 0;
  640.    tmFirstChar        = 0;
  641.    tmLastChar         = 0;
  642.    tmDefaultChar      = 0;
  643.    tmBreakChar        = 0;
  644.    tmItalic           = 0;
  645.    tmUnderlined       = 0;
  646.    tmStruckOut        = 0;
  647.    tmPitchAndFamily   = 0;
  648.    tmCharSet          = 0;
  649. }
  650.  
  651. CWindowPlacement::CWindowPlacement()
  652. {
  653.    Empty();
  654. }
  655.  
  656. CWindowPlacement::~CWindowPlacement()
  657. {
  658.    Empty();
  659. }
  660.  
  661. void CWindowPlacement::Empty( void )
  662. {
  663.    length  = sizeof( tagWINDOWPLACEMENT );
  664.    flags   = 0;
  665.    showCmd = 0;
  666.  
  667.    // POINT
  668.    ptMinPosition.x = 0;
  669.    ptMinPosition.y = 0;
  670.    ptMaxPosition.x = 0;
  671.    ptMaxPosition.y = 0;
  672.  
  673.    // RECT
  674.    rcNormalPosition.left   = 0;
  675.    rcNormalPosition.top    = 0;
  676.    rcNormalPosition.right  = 0;
  677.    rcNormalPosition.bottom = 0;
  678. }
  679.  
  680. #if 0
  681.  
  682. class CSystemAuditEntry : public _SYSTEM_AUDIT_ACE
  683. {
  684.    public:
  685.  
  686.       CSystemAuditEntry()
  687.       {
  688.          ::ZeroMemory( (_SYSTEM_AUDIT_ACE *) this, sizeof( _SYSTEM_AUDIT_ACE ) );
  689.       }
  690.  
  691.      ~CSystemAuditEntry()
  692.       {
  693.          ::ZeroMemory( (_SYSTEM_AUDIT_ACE *) this, sizeof( _SYSTEM_AUDIT_ACE ) );
  694.       }
  695. };
  696.  
  697. #if defined( _WINUSER_ )
  698.  
  699. class CFilterKeys : public tagFILTERKEYS
  700. {
  701.    public:
  702.  
  703.       CFilterKeys()
  704.       {
  705.          ::ZeroMemory( (tagFILTERKEYS *) this, sizeof( tagFILTERKEYS ) );
  706.          cbSize = sizeof( tagFILTERKEYS );
  707.       }
  708.  
  709.      ~CFilterKeys()
  710.       {
  711.          ::ZeroMemory( (tagFILTERKEYS *) this, sizeof( tagFILTERKEYS ) );
  712.       }
  713. };
  714.  
  715. class CStickyKeys : public tagSTICKYKEYS
  716. {
  717.    public:
  718.  
  719.       CStickyKeys()
  720.       {
  721.          ::ZeroMemory( (tagSTICKYKEYS *) this, sizeof( tagSTICKYKEYS ) );
  722.          cbSize = sizeof( tagSTICKYKEYS );
  723.       }
  724.  
  725.      ~CStickyKeys()
  726.       {
  727.          ::ZeroMemory( (tagSTICKYKEYS *) this, sizeof( tagSTICKYKEYS ) );
  728.       }
  729. };
  730.  
  731. class CMouseKeys : public tagMOUSEKEYS
  732. {
  733.    public:
  734.  
  735.       CMouseKeys()
  736.       {
  737.          ::ZeroMemory( (tagMOUSEKEYS *) this, sizeof( tagMOUSEKEYS ) );
  738.          cbSize = sizeof( tagMOUSEKEYS );
  739.       }
  740.  
  741.      ~CMouseKeys()
  742.       {
  743.          ::ZeroMemory( (tagMOUSEKEYS *) this, sizeof( tagMOUSEKEYS ) );
  744.       }
  745. };
  746.  
  747. class CToggleKeys : public tagTOGGLEKEYS
  748. {
  749.    public:
  750.  
  751.       CToggleKeys()
  752.       {
  753.          ::ZeroMemory( (tagTOGGLEKEYS *) this, sizeof( tagTOGGLEKEYS ) );
  754.          cbSize = sizeof( tagTOGGLEKEYS );
  755.       }
  756.  
  757.      ~CToggleKeys()
  758.       {
  759.          ::ZeroMemory( (tagTOGGLEKEYS *) this, sizeof( tagTOGGLEKEYS ) );
  760.       }
  761. };
  762.  
  763. class CAccessTimeout : public tagACCESSTIMEOUT
  764. {
  765.    public:
  766.  
  767.       CAccessTimeout()
  768.       {
  769.          ::ZeroMemory( (tagACCESSTIMEOUT *) this, sizeof( tagACCESSTIMEOUT ) );
  770.          cbSize = sizeof( tagACCESSTIMEOUT );
  771.       }
  772.  
  773.      ~CAccessTimeout()
  774.       {
  775.          ::ZeroMemory( (tagACCESSTIMEOUT *) this, sizeof( tagACCESSTIMEOUT ) );
  776.       }
  777. };
  778.  
  779. class CSoundSentryA : public tagSOUNDSENTRYA
  780. {
  781.    public:
  782.  
  783.       CSoundSentryA()
  784.       {
  785.          ::ZeroMemory( (tagSOUNDSENTRYA *) this, sizeof( tagSOUNDSENTRYA ) );
  786.          cbSize = sizeof( tagSOUNDSENTRYA );
  787.       }
  788.  
  789.      ~CSoundSentryA()
  790.       {
  791.          ::ZeroMemory( (tagSOUNDSENTRYA *) this, sizeof( tagSOUNDSENTRYA ) );
  792.       }
  793. };
  794.  
  795. class CSoundSentryW : public tagSOUNDSENTRYW
  796. {
  797.    public:
  798.  
  799.       CSoundSentryW()
  800.       {
  801.          ::ZeroMemory( (tagSOUNDSENTRYW *) this, sizeof( tagSOUNDSENTRYW ) );
  802.          cbSize = sizeof( tagSOUNDSENTRYW );
  803.       }
  804.  
  805.      ~CSoundSentryW()
  806.       {
  807.          ::ZeroMemory( (tagSOUNDSENTRYW *) this, sizeof( tagSOUNDSENTRYW ) );
  808.       }
  809. };
  810.  
  811. #if defined( UNICODE )
  812. #define CSoundSentry CSoundSentryW
  813. #else
  814. #define CSoundSentry CSoundSentryA
  815. #endif // UNICODE
  816.  
  817. #endif // _WINUSER_
  818.  
  819. #if defined( _INC_VFW )
  820.  
  821. class CCompVars : public COMPVARS
  822. {
  823.    public:
  824.  
  825.       CCompVars()
  826.       {
  827.          ::ZeroMemory( (COMPVARS *) this, sizeof( COMPVARS ) );
  828.          cbSize = sizeof( COMPVARS );
  829.       }
  830.  
  831.      ~CCompVars()
  832.       {
  833.          ::ZeroMemory( (COMPVARS *) this, sizeof( COMPVARS ) );
  834.       }
  835. };
  836.  
  837. #endif // _INC_VFW
  838.  
  839. #if defined( _WINGDI_ )
  840.  
  841. class CDocInfoA : public _DOCINFOA
  842. {
  843.    public:
  844.  
  845.       CDocInfoA()
  846.       {
  847.          ::ZeroMemory( (LPDOCINFOA) this, sizeof( DOCINFOA ) );
  848.          cbSize = sizeof( DOCINFOA );
  849.       }
  850.  
  851.      ~CDocInfoA()
  852.       {
  853.          ::ZeroMemory( (LPDOCINFOA) this, sizeof( DOCINFOA ) );
  854.       }
  855. };
  856.  
  857. class CDocInfoW : public _DOCINFOW
  858. {
  859.    public:
  860.  
  861.       CDocInfoW()
  862.       {
  863.          ::ZeroMemory( (LPDOCINFOW) this, sizeof( DOCINFOW ) );
  864.          cbSize = sizeof( DOCINFOW );
  865.       }
  866.  
  867.      ~CDocInfoW()
  868.       {
  869.          ::ZeroMemory( (LPDOCINFOW) this, sizeof( DOCINFOW ) );
  870.       }
  871. };
  872.  
  873. #if defined( UNICODE )
  874. #define CDocInfo CDocInfoW
  875. #else
  876. #define CDocInfo CDocInfoA
  877. #endif // UNICODE
  878.  
  879. #endif // _WINGDI_
  880.  
  881. #endif // 0
  882.